package com.wing.product.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 托管订单（签收）
 */
@Schema(description="发货记录（发货订单）")
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "warehouse_sign_order")
public class WarehouseSignOrder extends BaseEntity<WarehouseSignOrder> {

    @TableField(value = "shipment_order_code")
    @Schema(description = "发货订单编号")
    private String shipmentOrderCode;

    @TableField(value = "order_id")
    @Schema(description = "订单id")
    private Long orderId;

    @TableField(value = "order_code")
    @Schema(description = "订单编号")
    private String orderCode;

    @TableField(value = "shipment_order_id")
    @Schema(description = "发货id")
    private Long shipmentOrderId;

    @TableField(value = "sign_code")
    @Schema(description = "")
    private String signCode;

    @TableField(value = "customer_id")
    @Schema(description = "客户编号")
    private Long customerId;

    @TableField(value = "warehouse_user_id")
    @Schema(description = "联系人")
    private Long warehouseUserId;

    @TableField(value = "phone")
    @Schema(description = "电话")
    private String phone;

    @TableField(value = "mail")
    @Schema(description = "邮箱")
    private String mail;

    @TableField(value = "store_time")
    @Schema(description = "入库时间")
    private LocalDateTime storeTime;

    @TableField(value = "total_quantity")
    @Schema(description = "合计数量")
    private Double totalQuantity;

    @TableField(value = "total_weight")
    @Schema(description = "合计总量")
    private Double totalWeight;

    @TableField(value = "total_price")
    @Schema(description = "合计价格")
    private Double totalPrice;

    @TableField(value = "`status`")
    @Schema(description = "订单状态，0 待受理 1 已受理 2 发货中 3 入库完成")
    private Integer status;

    @TableField(value = "`source`")
    @Schema(description = "数据来源")
    private Integer source;

    @TableField(value = "waybill")
    @Schema(description = "货运单")
    private String waybill;

    @TableField(value = "vehicle_id")
    @Schema(description = "车辆id 取 inv_vehicle 表 暂时不用 关联车辆")
    private Long vehicleId;

    @TableField(value = "plate_no")
    @Schema(description = "车牌号")
    private String plateNo;

    @TableField(value = "driver_id")
    @Schema(description = "司机id 取 inv_driver 暂时不用")
    private Long driverId;

    @TableField(value = "driver_name")
    @Schema(description = "司机名称")
    private String driverName;

    @TableField(value = "driver_phone")
    @Schema(description = "司机电话")
    private String driverPhone;

    @TableField(value = "price_time")
    @Schema(description="计价时间")
    private LocalDateTime priceTime;
}